index.tsx 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. import { useParams } from 'common'
  2. import { Destinations } from '@/components/interfaces/Database/Replication/Destinations'
  3. import { ReplicationDiagram } from '@/components/interfaces/Database/Replication/ReplicationDiagram'
  4. import DatabaseLayout from '@/components/layouts/DatabaseLayout/DatabaseLayout'
  5. import { DefaultLayout } from '@/components/layouts/DefaultLayout'
  6. import { ScaffoldContainer, ScaffoldSection } from '@/components/layouts/Scaffold'
  7. import { UnknownInterface } from '@/components/ui/UnknownInterface'
  8. import { useIsFeatureEnabled } from '@/hooks/misc/useIsFeatureEnabled'
  9. import { PipelineRequestStatusProvider } from '@/state/replication-pipeline-request-status'
  10. import type { NextPageWithLayout } from '@/types'
  11. const DatabaseReplicationPage: NextPageWithLayout = () => {
  12. const { ref } = useParams()
  13. const showPgReplicate = useIsFeatureEnabled('database:replication')
  14. if (!showPgReplicate) {
  15. return <UnknownInterface urlBack={`/project/${ref}/database/schemas`} />
  16. }
  17. return (
  18. <PipelineRequestStatusProvider>
  19. <ScaffoldContainer>
  20. <ScaffoldSection isFullWidth>
  21. <div className="w-full mb-6">
  22. <div className="flex items-center gap-x-2 mb-1">
  23. <h3 className="text-foreground text-xl prose">Replication</h3>
  24. </div>
  25. <p className="prose text-sm max-w-full">
  26. Deploy read replicas across multiple regions, or replicate database changes to
  27. external data warehouses and analytics platforms
  28. </p>
  29. </div>
  30. </ScaffoldSection>
  31. </ScaffoldContainer>
  32. <ReplicationDiagram />
  33. <ScaffoldContainer>
  34. <ScaffoldSection isFullWidth className="pt-6!">
  35. <Destinations />
  36. </ScaffoldSection>
  37. </ScaffoldContainer>
  38. </PipelineRequestStatusProvider>
  39. )
  40. }
  41. DatabaseReplicationPage.getLayout = (page) => (
  42. <DefaultLayout>
  43. <DatabaseLayout title="Replication">{page}</DatabaseLayout>
  44. </DefaultLayout>
  45. )
  46. export default DatabaseReplicationPage